-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Ingest Manger] Return promise from plugin#start #69089
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@elasticmachine merge upstream |
jfsiii
changed the title
WIP. Pushing for CI
[Ingest Manger] Return promise from plugin#start
Jun 14, 2020
jfsiii
added
release_note:skip
Skip the PR/issue when compiling release notes
Team:Fleet
Team label for Observability Data Collection Fleet team
v7.9.0
labels
Jun 15, 2020
Pinging @elastic/ingest-management (Team:Ingest Management) |
…in registry function (elastic#68642) * creating observability context registry * adding registryContext * addressing PR comments * addressing PR comments * adding context to registry provider * adding obs own registry * refactoring * refactoring * fixing types * removing apm code Co-authored-by: Elastic Machine <[email protected]>
…lastic#69116) * Call sync search recursively * Fix test * Fix search mock to avoid resetting it * delete empty line * fix tests
@jfsiii Two questions
In general +1 on moving forward with this. |
…lastic#68991) * scrub the lead and trailing brackets from ipv6 host names * Update comment * refactor: scrub -> sanitize Co-authored-by: Elastic Machine <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
* rename server plugin to siem to avoid privilege issue * review from alerting * missing change with rename * fix tests * missing api integration test * fix api integration spaces
This was referenced Jun 15, 2020
* make browserAsync type safe * adopt tests * prefer unknown over any * simplify signature
Co-authored-by: Elastic Machine <[email protected]>
…67783) Added example for using dashboard container by value 1.1 Refactored embeddable explorer e2e test to use new example, removed not needed kbn_tp_embeddable_explorer plugin. For embeddable explorer examples went away from using getFactoryById() to improve type checks There is new component a replacement for EmbeddableFactoryRenderer with slightly more flexible api: EmbeddableRenderer. 3.1 We can improve it going forward to support more use case
…ana into no-await-setup-return-promise
Refactor start method
botelastic
bot
added
Feature:Embedding
Embedding content via iFrame
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
labels
Jun 18, 2020
7 tasks
💚 Build SucceededBuild metrics@kbn/optimizer bundle module count
History
To update your PR or re-run it, just comment with: |
jfsiii
removed
Feature:Embedding
Embedding content via iFrame
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
labels
Jun 18, 2020
Closing in favor of #69505 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
release_note:skip
Skip the PR/issue when compiling release notes
Team:Fleet
Team label for Observability Data Collection Fleet team
v7.9.0
v8.0.0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Moved to #69505
Problem
The Ingest Manager public
start
method is causing timeout errors for people not even directly using the plugin #66125Root cause
Doing an
await
in thestart
lifecycle method blocks all of Kibana from progressing until it's completeProposed solution
await
in the publicstart
lifecycle method. Fixes [Ingest][EPM] Ingest Manager start lifecycle didn't finish in 30 secs #66125PR based on [Ingest][EPM] Ingest Manager start lifecycle didn't finish in 30 secs #66125 (comment) & [Ingest][EPM] Ingest Manager start lifecycle didn't finish in 30 secs #66125 (comment)
success
to be PromiseWhy this way
re (1): while great gains were made in setup time, error reports are still coming. Dropping the
await
prevents the possibility of any timeout errors. It's also the Platform team's preference.re (2): the Ingest Manager plugin currently returns
success: boolean
error?
We can avoid defining our own by using things already available on the
Promise
interface.then
for the success case.catch
for the error case which includes and anError
instanceI think we should limit the scope of the changes we make in the PRs backported to 7.8. This PR gives the most impact (makes it impossible to block/fail Kibana if the setup takes too long) with the least change.
The change to the return value is technically a breaking change for our consumers but any client side code that depended on setup completing, can now
await
and still get that guarantee. I believe this is the change required:This is only client-side, what about the server
Any server side timing issues are present in master already and should be discussed and addressed in follow up PRs. I did some exploration of that in #68631
Checklist
Delete any items that are not applicable to this PR.
For maintainers